#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<stack>
#include<string>
#include<vector>

using namespace std;

//vector<string> _v;
//std::string op;
//int T, _opcount, x;
//
//
//
//int main()
//{
//	stack<int> _st;
//	cin >> T;
//	for (int i = 0; i < T; i++)
//	{
//		cin >> _opcount;
//		for (int j = 0; j < _opcount; j++)
//		{
//			cin >> op;
//			if (op == "push")
//			{
//				cin >> x;
//				_st.push(x);
//			}
//			else if (op == "pop")
//			{
//				if (_st.empty())
//				{
//					_v.push_back("Empty");
//				}
//				else
//				{
//					_st.pop();
//				}
//			}
//			else if (op == "query")
//			{
//				if (_st.empty())
//				{
//					_v.push_back("Anguei!");
//				}
//				else
//				{
//					_v.push_back(std::to_string(_st.top()));
//				}
//			}
//			else
//			{
//				_v.push_back(std::to_string(_st.size()));
//			}
//		}
//		while (!_st.empty())
//		{
//			_st.pop();
//		}
//	}
//
//	for (auto& s : _v)
//	{
//		cout << s << endl;
//	}
//	return 0;
//}

//int main()
//{
//	stack<int> st;
//	std::string s;
//	cin >> s;
//	string ret;
//	for (auto& ch : s)
//	{
//		if (ch != '@' && ch != '.')
//		{
//			if (ch != '+' && ch != '-'
//				&& ch != '*' && ch != '/')
//			{
//				ret += ch;
//				continue;
//			}
//			
//			else
//			{
//				int right = st.top();
//				st.pop();
//				int left = st.top();
//				st.pop();
//				if (ch == '+')
//				{
//					st.push(left + right);
//				}
//				else if (ch == '-')
//				{
//					st.push(left - right);
//				}
//				else if (ch == '*')
//				{
//					st.push(left * right);
//				}
//				else
//				{
//					st.push(left / right);
//				}
//			}
//		}
//
//		if (!ret.empty())
//		{
//			st.push(stoi(ret));
//			ret.clear();
//		}
//	}
//	cout << st.top();
//
//	return 0;
//}

#include<algorithm>

//int main()
//{
//	vector<int> flag;
//	string s;
//	cin >> s;
//	stack<char> st;
//	vector<int> _topIndexs;
//	for (int i = 0; i < s.size(); i++)
//	{
//		if (s[i] == '(' || s[i] == '[')
//		{
//			st.push(s[i]);
//			_topIndexs.push_back(i);
//		}
//		else
//		{
//			if (s[i] == ')')
//			{
//				if (!st.empty() && st.top() == '(')
//				{
//					st.pop();
//					_topIndexs.pop_back();
//				}
//
//				else if (st.empty())
//				{
//					flag.push_back(i);
//				}
//				else
//				{
//					flag.push_back(_topIndexs.back());
//					flag.push_back(i);
//					st.pop();
//					_topIndexs.pop_back();
//				}
//
//			}
//			else if (s[i] == ']')
//			{
//				if (!st.empty() && st.top() == '[')
//				{
//					st.pop();
//					_topIndexs.pop_back();
//				}
//
//				else if (st.empty())
//				{
//					flag.push_back(i);
//				}
//				else
//				{
//					flag.push_back(_topIndexs.back());
//					flag.push_back(i);
//					st.pop();
//					_topIndexs.pop_back();
//				}
//			}
//			
//		}
//	}
//	if (!_topIndexs.empty())
//	{
//		for (auto x : _topIndexs)
//		{
//			flag.push_back(x);
//		}
//	}
//	sort(flag.begin(), flag.end());
//
//	for(int i = 0;i<flag.size();i++)
//	{
//		if (s[flag[i]] == '(')
//		{
//			auto it = s.begin() + flag[i] + 1;
//			s.insert(it, ')');
//			for (int j = i + 1; j < flag.size(); j++)
//			{
//				flag[j]++;
//			}
//		}
//		else if (s[flag[i]] == '[')
//		{
//			auto it = s.begin() + flag[i] + 1;
//			s.insert(it, ']');
//			for (int j = i + 1; j < flag.size(); j++)
//			{
//				flag[j]++;
//			}
//		}
//		else if (s[flag[i]] == ')')
//		{
//			if (!i)
//			{
//				s = '(' + s;
//				for (int j = i + 1; j < flag.size(); j++)
//				{
//					flag[j]++;
//				}
//			}
//			else
//			{
//				auto it = s.begin() + flag[i];
//				s.insert(it, '(');
//				for (int j = i + 1; j < flag.size(); j++)
//				{
//					flag[j]++;
//				}
//			}
//		}
//		else
//		{
//			if (!i)
//			{
//				s = '[' + s;
//				for (int j = i + 1; j < flag.size(); j++)
//				{
//					flag[j]++;
//				}
//			}
//			else
//			{
//				auto it = s.begin() + flag[i];
//				s.insert(it, '[');
//				for (int j = i + 1; j < flag.size(); j++)
//				{
//					flag[j]++;
//				}
//			}
//		}
//	}
//
//	cout << s << endl;
//
//
//	return 0;
//}
